package com.ctsi.framework.mybatis.dialect;

import java.sql.PreparedStatement;
import java.sql.SQLException;



/**
 * Mysql方言的实现
 * Mysql 是利用MySQL的limit函数，limit[offset,rows],从数据库表中的offset条记录开始检索rows条记录的语句
 * @author zhangjw
 */
public class MySQLDialect extends AbstractMiDialect{
	@Override
	public void setLimitParamters(PreparedStatement ps, int parameterSize,
			int offset, int limit) throws SQLException {
		if(offset > 0){
			ps.setInt(parameterSize + 1, offset);
			ps.setInt(parameterSize + 2, limit);
		}else{
			ps.setInt(parameterSize + 1, limit);
		}
		
	}

	@Override
	public String getLimitString(String sql, int offset) {
		
		return sql.concat(  offset > 0 ? " limit ? , ?" : " limit ?");
	}

	@Override
	public boolean supportsLimitOffset() {
		
		return true;
	}
}
